/*
 * @lc app=leetcode.cn id=88 lang=javascript
 *
 * [88] 合并两个有序数组
 */

// @lc code=start
/**
 * @param {number[]} nums1
 * @param {number} m
 * @param {number[]} nums2
 * @param {number} n
 * @return {void} Do not return anything, modify nums1 in-place instead.
 */
var merge = function (nums1, m, nums2, n) {
  const rel = [];

  let i = 0;
  let j = 0;
  while (i < m || j < n) {
    if (i < m && (j >= n || nums1[i] < nums2[j])) {
      rel.push(nums1[i]);
      i++;
    }

    if (j < n && (i >= m || nums1[i] >= nums2[j])) {
      rel.push(nums2[j]);
      j++;
    }
  }

  rel.forEach((v, i) => (nums1[i] = v));
};
// @lc code=end
